<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <!-- <script src="../js/myQuery.js"></script> -->
  <script src="../js/jquery-1.10.1.min.js"></script>
  <style>
    * {
      padding: 0;
      margin: 0;
    }

    h3 {
      line-height: 60px;
    }

    li {
      list-style: none;
      line-height: 40px;
      border: 1px dashed #333;
    }

    .list {
      overflow: hidden;
    }

    .active {
      background-color: #6ff;
    }
  </style>
</head>

<body>
  <div>
    <button>empty</button>
    <button>remove</button>
    <button>detach</button>
    <button>恢复</button>
  </div>
  <div class="wrap">
    <h3 id="title">批量操作元素</h3>
    <ul class="list">
      <li class="first">01</li>
      <li>02</li>
      <li class="mid">03</li>
      <li>04</li>
      <li>05</li>
      <li class="last"><span class="demo">06</span></li>
    </ul>
  </div>
</body>
<script>
  // jquery中如何创建元素?
  // 1. 通过原生创建元素节点   => 再转化为jquery对象 
  // 2. $(html) 接收一个html结构  => 返回对应元素形成的jquery对象
  // 3. $(html,option) 除了接收一个html结构,还可以接收一个对象参数 作为该元素的修饰  => 返回对应元素形成的jquery对象

  // 如何将创建的元素 放到同级元素前/后

  // $(ele).empty()   情况匹配的元素
  // remove()  删除匹配的元素   这个方法不会把匹配的元素从jQuery对象中删除，因而可以在将来再使用这些匹配的元素。但除了这个元素本身得以保留之外，其他的比如绑定的事件，附加的数据等都会被移除。

  // detach()  删除匹配的元素   这个方法不会把匹配的元素从jQuery对象中删除，因而可以在将来再使用这些匹配的元素。与remove()不同的是，所有绑定的事件、附加的数据等都会保留下来。




  $(".mid").data("num", 100);
  $(".mid").data("str", "hello");
  $(".mid").data("bool", true);

  $(".mid").click(function () {
    console.log($(this).index(), $(this).data("num"))
  })

  var $ele = null;


  $("button").eq(0).click(function () {
    $(".list").empty() // ;   $(".list").html("");
  })
  $("button").eq(1).click(function () {
    $ele = $(".mid").remove();
  })
  $("button").eq(2).click(function () {
    $ele = $(".mid").detach();
  })
  $("button").eq(3).click(function () {
    if ($ele) {
      $ele.insertAfter($(".first").next())
    }
  })








</script>

</html>